Introduction
Behind every software and device that you use is a thriving network of developers working hard to produce the best and most up to date technology possible. This development often takes place in large companies such as Apple and Microsoft. However, another world of development exists in the open-source community. But what is open source? Open-source software is software whereby the source code used to write it, is publicly available for anyone to see, use and modify under more specific copyright laws. However, why would a developer release their work to the world for free? Eric Raymond answers this question and uses his experience in both worlds to write an extended argument for open-source software.
A Cathedral and a Bazaar?
Raymond explains how a cathedral is constructed using a small group of individuals who are well co-ordinated and have aligned visions, due to the many intricacies of the cathedral structure. This, therefore, is a suitable metaphor for closed source, proprietary software. On the other hand, the open-source community can be described as a vast cluster of frantic workers, each with a vision of their own – comparable to a bazaar.
Linux: An impossible success
One may wonder how a bazaar-like model can achieve comparable success to the cathedral giants like Microsoft given this preceding description.
Raymond uses Linus Torvalds’s project ‘Linux’ to explain this. Linux, despite being ‘theoretically impossible’, is an incredible example of what power the open-source community beholds. Linux is an open-source operating system used by millions, and still today has a magnitude of avid developers updating it and improving it. So how did Linus Torvalds achieve this?
Success in a bazaar model of development depends on two main factors. Firstly, the coordinator of the project. The coordinator or leader(s) must have a special talent for social interaction and motivation. To persuade developers to donate their time and resources to produce code for your project is no easy task. The coordinator must also be able to delegate work, handle internal conflicts and steer the project along its best path. The next factor is obviously the developers themselves. Developers must want to see their projects succeed. This is a grand advantage open source has on proprietary. In a company, one does the jobs they are assigned. Whereas in open source, one does the job they chose to complete. You can guess which operation has a better return.
With many different pieces of work, integrated together, in open source projects, errors or more specifically, 'deep errors' are abundant. It is because of this ‘Linux’ was regarded as ‘theoretically impossible.’ However, having a keen team of developers is the best solution to overcoming this. Moreover, having enough developers is key. As Raymond states, “Given enough eyeballs, all bugs are shallow.” Again, this is an advantage bazaar.
Fetchmail
Studying another’s success is helpful to an extent. However, what better way to prove the capabilities of open source, then by using it to make your own software? This is what led to Raymond’s experimental success ‘Fetchmail.’ Raymond uses his journey through developing the utility software Fetchmail to deliver a series of rules to the reader. The two most enlightening rules for me were:
-
“Plan to throw one (project) away; you will anyhow”
-
“Often, the most striking and innovative solutions come from realising that your concept of the problem was wrong.”
Despite only being at an amateur stage, I find that both of these rules still apply immensely to the challenges I face, not only in my programming but also in my entire day-to-day life. Shortly after reading this, I found myself trying to scrutinize problems under different light and the impact was apparent.
The Open Source Culture
The Cathedral and the Bazaar does not just explore open source software, but also the human psychology behind it. Raymond discusses ideas of 'exchange cultures' and 'command hierarchies' before concluding that open source is most suited to a 'gift culture.' As Raymond explains, "In gift cultures, social status is determined not by what you control but by what you give away.” We see this amongst the wealthiest, whereby those who give the most i.e. through charity or campaigning, earn the highest social status and respect from others. Raymond then expands this idea into the “reputation game” where people find motivation from how other people perceive them in the community. This answers the question ‘why open source?’
Conclusion
The Cathedral and the Bazaar offers a very insightful and interesting read for those associated with the industry. Raymond proves each of his points with extensive explanations and evidence and provides a very compelling argument for open source development. My only criticism is that the book assumes a very detailed knowledge of programming history already. Whilst Raymond provides ‘a Brief History of Hackerdom’ chapter, often the book is difficult to follow, especially for a young reader such as myself. Overall, however, I thoroughly enjoyed the read and I know the lessons learned are ones of great value for an aspiring developer.